32 research outputs found
Reconstructing Generalized Staircase Polygons with Uniform Step Length
Visibility graph reconstruction, which asks us to construct a polygon that
has a given visibility graph, is a fundamental problem with unknown complexity
(although visibility graph recognition is known to be in PSPACE). We show that
two classes of uniform step length polygons can be reconstructed efficiently by
finding and removing rectangles formed between consecutive convex boundary
vertices called tabs. In particular, we give an -time reconstruction
algorithm for orthogonally convex polygons, where and are the number of
vertices and edges in the visibility graph, respectively. We further show that
reconstructing a monotone chain of staircases (a histogram) is fixed-parameter
tractable, when parameterized on the number of tabs, and polynomially solvable
in time under reasonable alignment restrictions.Comment: Appears in the Proceedings of the 25th International Symposium on
Graph Drawing and Network Visualization (GD 2017
Scalable Kernelization for Maximum Independent Sets
The most efficient algorithms for finding maximum independent sets in both
theory and practice use reduction rules to obtain a much smaller problem
instance called a kernel. The kernel can then be solved quickly using exact or
heuristic algorithms---or by repeatedly kernelizing recursively in the
branch-and-reduce paradigm. It is of critical importance for these algorithms
that kernelization is fast and returns a small kernel. Current algorithms are
either slow but produce a small kernel, or fast and give a large kernel. We
attempt to accomplish both of these goals simultaneously, by giving an
efficient parallel kernelization algorithm based on graph partitioning and
parallel bipartite maximum matching. We combine our parallelization techniques
with two techniques to accelerate kernelization further: dependency checking
that prunes reductions that cannot be applied, and reduction tracking that
allows us to stop kernelization when reductions become less fruitful. Our
algorithm produces kernels that are orders of magnitude smaller than the
fastest kernelization methods, while having a similar execution time.
Furthermore, our algorithm is able to compute kernels with size comparable to
the smallest known kernels, but up to two orders of magnitude faster than
previously possible. Finally, we show that our kernelization algorithm can be
used to accelerate existing state-of-the-art heuristic algorithms, allowing us
to find larger independent sets faster on large real-world networks and
synthetic instances.Comment: Extended versio
Listing all maximal cliques in sparse graphs in near-optimal time
The degeneracy of an -vertex graph is the smallest number such that every subgraph of contains a vertex of degree at most . We show that there exists a nearly-optimal fixed-parameter tractable algorithm for enumerating all maximal cliques, parametrized by degeneracy. To achieve this result, we modify the classic Bron--Kerbosch algorithm and show that it runs in time . We also provide matching upper and lower bounds showing that the largest possible number of maximal cliques in an -vertex graph with degeneracy (when is a multiple of 3 and ) is . Therefore, our algorithm matches the worst-case output size of the problem whenever
Shared Memory Parallel Subgraph Enumeration
The subgraph enumeration problem asks us to find all subgraphs of a target
graph that are isomorphic to a given pattern graph. Determining whether even
one such isomorphic subgraph exists is NP-complete---and therefore finding all
such subgraphs (if they exist) is a time-consuming task. Subgraph enumeration
has applications in many fields, including biochemistry and social networks,
and interestingly the fastest algorithms for solving the problem for
biochemical inputs are sequential. Since they depend on depth-first tree
traversal, an efficient parallelization is far from trivial. Nevertheless,
since important applications produce data sets with increasing difficulty,
parallelism seems beneficial.
We thus present here a shared-memory parallelization of the state-of-the-art
subgraph enumeration algorithms RI and RI-DS (a variant of RI for dense graphs)
by Bonnici et al. [BMC Bioinformatics, 2013]. Our strategy uses work stealing
and our implementation demonstrates a significant speedup on real-world
biochemical data---despite a highly irregular data access pattern. We also
improve RI-DS by pruning the search space better; this further improves the
empirical running times compared to the already highly tuned RI-DS.Comment: 18 pages, 12 figures, To appear at the 7th IEEE Workshop on Parallel
/ Distributed Computing and Optimization (PDCO 2017
Practical Minimum Cut Algorithms
The minimum cut problem for an undirected edge-weighted graph asks us to
divide its set of nodes into two blocks while minimizing the weight sum of the
cut edges. Here, we introduce a linear-time algorithm to compute near-minimum
cuts. Our algorithm is based on cluster contraction using label propagation and
Padberg and Rinaldi's contraction heuristics [SIAM Review, 1991]. We give both
sequential and shared-memory parallel implementations of our algorithm.
Extensive experiments on both real-world and generated instances show that our
algorithm finds the optimal cut on nearly all instances significantly faster
than other state-of-the-art algorithms while our error rate is lower than that
of other heuristic algorithms. In addition, our parallel algorithm shows good
scalability
Simultaneous Representation of Proper and Unit Interval Graphs
In a confluence of combinatorics and geometry, simultaneous representations provide a way to realize combinatorial objects that share common structure. A standard case in the study of simultaneous representations is the sunflower case where all objects share the same common structure. While the recognition problem for general simultaneous interval graphs - the simultaneous version of arguably one of the most well-studied graph classes - is NP-complete, the complexity of the sunflower case for three or more simultaneous interval graphs is currently open. In this work we settle this question for proper interval graphs. We give an algorithm to recognize simultaneous proper interval graphs in linear time in the sunflower case where we allow any number of simultaneous graphs. Simultaneous unit interval graphs are much more "rigid" and therefore have less freedom in their representation. We show they can be recognized in time O(|V|*|E|) for any number of simultaneous graphs in the sunflower case where G=(V,E) is the union of the simultaneous graphs. We further show that both recognition problems are in general NP-complete if the number of simultaneous graphs is not fixed. The restriction to the sunflower case is in this sense necessary
Linear-Time Algorithms for Geometric Graphs with Sublinearly Many Edge Crossings
We provide linear-time algorithms for geometric graphs with sublinearly many
crossings. That is, we provide algorithms running in O(n) time on connected
geometric graphs having n vertices and k crossings, where k is smaller than n
by an iterated logarithmic factor. Specific problems we study include Voronoi
diagrams and single-source shortest paths. Our algorithms all run in linear
time in the standard comparison-based computational model; hence, we make no
assumptions about the distribution or bit complexities of edge weights, nor do
we utilize unusual bit-level operations on memory words. Instead, our
algorithms are based on a planarization method that "zeroes in" on edge
crossings, together with methods for extending planar separator decompositions
to geometric graphs with sublinearly many crossings. Incidentally, our
planarization algorithm also solves an open computational geometry problem of
Chazelle for triangulating a self-intersecting polygonal chain having n
segments and k crossings in linear time, for the case when k is sublinear in n
by an iterated logarithmic factor.Comment: Expanded version of a paper appearing at the 20th ACM-SIAM Symposium
on Discrete Algorithms (SODA09
Engineering Data Reduction for Nested Dissection
Many applications rely on time-intensive matrix operations, such as
factorization, which can be sped up significantly for large sparse matrices by
interpreting the matrix as a sparse graph and computing a node ordering that
minimizes the so-called fill-in. In this paper, we engineer new data reduction
rules for the minimum fill-in problem, which significantly reduce the size of
the graph while producing an equivalent (or near-equivalent) instance. By
applying both new and existing data reduction rules exhaustively before nested
dissection, we obtain improved quality and at the same time large improvements
in running time on a variety of instances. Our overall algorithm outperforms
the state-of-the-art significantly: it not only yields better elimination
orders, but it does so significantly faster than previously possible. For
example, on road networks, where nested dissection algorithms are typically
used as a preprocessing step for shortest path computations, our algorithms are
on average six times faster than Metis while computing orderings with less
fill-in